In conventional systems, message passing may be utilized as an interface that facilitates communication between a host and intelligent device(s). For example, the universal serial bus (USB) protocol provides a message passing mechanism over a serial hardware bus to facilitate communication between a host device and one or more end devices. The USB protocol allows larger units of data such as data frames to be conveyed over a serial bus within USB packets, and each USB packet may be addressed to a particular end device and a logical endpoint within the end device. This is achieved without using a more specific address. This allows an intelligent USB device to further process the frame.
An addressed bus such as PCI, PCMCIA/CF, and/or SDIO may comprise a 32-bit, 26-bit, or 17-bit address as part of each command, which is utilized for routing or directing corresponding data to or from a specific location within a device. These addressed buses may not directly support the higher-level concepts of framing, which may comprise composing a larger sequence of data octets from a number of smaller individual bus transactions. Additionally, these addressed buses may not directly support addressed messages, which are messages that are addressed only to device or to some logical function or endpoint within the device but not to a specific memory address location within the device. This may be problematic for an intelligent device, which intends to further process the data before directing it to/from an underlying media device because it requires a lower level, more entangled sharing of memory regions on the device between the intelligent device and software that may be executing on a host.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.